﻿using System;
using System.Collections.Generic;

namespace AutoClub.Core.Domain.Dao
{
    public interface IUserRolesRepo
    {
        /// <summary>
        /// Gets a single instance by its identifier
        /// </summary>
        /// <param name="id">Entity's id</param>
        /// <returns>The instance for this id</returns>
        UserRol Get(UserRolEnum id);

        /// <summary>
        /// Gets all the entities
        /// </summary>
        /// <returns>A list of entities</returns>
        IEnumerable<UserRol> GetAll();

        /// <summary>
        /// Get all the entities that satisfied a given predicate
        /// </summary>
        /// <param name="predicate">a predicate for filter</param>
        /// <returns></returns>
        IEnumerable<UserRol> GetBy(Func<UserRol, bool> predicate);
    }
}
